﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CommonTagTime.ModelObject
{
    public class Category
    {
        //------------------------------------------------
        //VARIABLE
        //------------------------------------------------
        private int _TotalRecords;
        private int _CurrentPage;
        private int _PageSize;
        private string _OrderBy;
        private string _OrderDirection;
        private string _Condition; 
        private int _CategoryID;
        private int _ParentId;
        private byte _Level;
        private byte _Type;
        private int _SortOrder;
        private bool _IsActive;
        private string _Name;
        private string _Description;
        private string _PageTitle;
        private string _MetaDescription;
        private string _MetaKeywords;
        private string _CreatedBy;
        private DateTime _CreatedDate;
        private string _UpdatedBy;
        private DateTime _UpdatedDate;
        
        //------------------------------------------------
        //PROPERTY
        //------------------------------------------------
        public int CategoryID
        {
            get { return _CategoryID; }
            set { _CategoryID = value; }
        }
        public int ParentId
        {
            get { return _ParentId; }
            set { _ParentId = value; }
        }
        public byte Level
        {
            get { return _Level; }
            set { _Level = value; }
        }
        public int SortOrder
        {
            get { return _SortOrder; }
            set { _SortOrder = value; }
        }
        public Boolean IsActive
        {
            get { return _IsActive; }
            set { _IsActive = value; }
        }
        public string Description
        {
            get { return _Description; }
            set { _Description = value; }
        }
        public string MetaDescription
        {
            get { return _MetaDescription; }
            set { _MetaDescription = value; }
        }
        public string MetaKeywords
        {
            get { return _MetaKeywords; }
            set { _MetaKeywords = value; }
        }
        public string PageTitle
        {
            get { return _PageTitle; }
            set { _PageTitle = value; }
        }
        public string CreatedBy
        {
            get { return _CreatedBy; }
            set { _CreatedBy = value; }
        }
        public DateTime CreatedDate
        {
            get { return _CreatedDate; }
            set { _CreatedDate = value; }
        }
        public string UpdatedBy
        {
            get { return _UpdatedBy; }
            set { _UpdatedBy = value; }
        }
        public DateTime UpdatedDate
        {
            get { return _UpdatedDate; }
            set { _UpdatedDate = value; }
        }

        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }

        public int TotalRecords
        {
            get { return _TotalRecords; }
            set { _TotalRecords = value; }
        }

        public string OrderBy
        {
            get { return _OrderBy; }
            set { _OrderBy = value; }
        }

        public string OrderDirection
        {
            get { return _OrderDirection; }
            set { _OrderDirection = value; }
        }

        public int CurrentPage
        {
            get { return _CurrentPage; }
            set { _CurrentPage = value; }
        }

        public int PageSize
        {
            get { return _PageSize; }
            set { _PageSize = value; }
        }
        public string Condition
        {
            get { return _Condition; }
            set { _Condition = value; }
        }
        public byte Type
        {
            get { return _Type; }
            set { _Type = value; }
        }

        public Category()
        {
            _Type = 0;
            _CurrentPage = 0;
            _PageSize = 0;
            _TotalRecords = 0;
            _Name = string.Empty;
            _CategoryID = int.MinValue;
            this._ParentId = int.MinValue;
            _Level = byte.MinValue;
            _SortOrder = int.MinValue;
            _IsActive = false;
            _Description = string.Empty;
            _CreatedBy = string.Empty;
            _CreatedDate = DateTime.MinValue;
            _UpdatedBy = string.Empty;
            _UpdatedDate = DateTime.MinValue;
            _Condition = string.Empty;
            _PageTitle = string.Empty;
            _MetaKeywords = string.Empty;
            _MetaDescription = string.Empty;
        }
    }

    public class CategoryCollection : List<Category>
    { }
}
